package com.yqy.spring.beanAnnotation.Service;

import com.yqy.spring.beanAnnotation.Dao.UserDao;
import jakarta.annotation.Resource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;

@Service
public class UserService {
    private UserDao userDao;
//    @Autowired
//    /**
//     *@Autowired注解默认根据类型注入。如果要根据名称注入的话，需要配合@Qualifier注解一起使用。
//     *@Autowired注解可以出现在：属性上、构造方法上、构造方法的参数上、setter方法上。
//     */
//    @Qualifier("userDaoForOracle")

//    @Resource注解：默认byName注入，没有指定name时把属性名当做name，根据name找不到时，才会byType注入。byType注入时，某种类型的Bean只能有一个。
    @Resource
    public void setUserDao(UserDao userDao) {
        this.userDao = userDao;
    }

    //    当有参数的构造方法只有一个时，@Autowired注解可以省略。
    public void save(){
        userDao.insert();
    }
}
